#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e6;
int t,n,ax;int maxx;
struct str{
    int n;
    int color;
    int in()
    {
        cin>>color;
    }
}nm[MAXN];
int nj(int n)
{
    if(n==2)
    {
        return 2;
    }
    else
    {
        return n*nj(n-1);
    }
}
void bfs(int num,int ans)
{
    if(num==n-1)
    {
        maxx=max(maxx,ans);
        return ;
    }
    else
    {
        bfs(num+1,ans);
        bfs(num+1,ans+(nm[num].n==nm[num-1].n ? nm[num].n:0));
    }
}
int main()
{
    freopen("color.in","r",stdin);
    freopen("color.out","w",stdout);
    cin>>t;
    for(int i=0;i<t;i++)
    {
        cin>>n;
        ax=nj(n);
        for(int j=0;j<n;j++)
        {
            nm[j].in();
        }
        maxx=-1;
        bfs(0,0);
        cout<<maxx<<endl;
    }
    fclose(stdin);
    fclose(stdout);
    return 0;
}
